// 导入axios和BASE_URL
import axios from 'axios';
import { BASE_URL } from './url';
import { getToken, removeToken } from './auth';

// 创建axios实例
const API = axios.create({
  baseURL: BASE_URL
});

// 使用axios拦截器对token进行统一处理
API.interceptors.request.use(config => {
  const { url, headers } = config;
  // 判断url路径是否以/user开头，并且不是登录和注册接口，
  if (
    url.startsWith('/user') &&
    !url.startsWith('/user/register') &&
    !url.startsWith('/user/login')
  ) {
    // 加上请求头
    headers.authorization = getToken();
  }
  return config;
});

// 添加响应拦截器
API.interceptors.response.use(res => {
  // console.log(res);
  const { status } = res.data;
  if (status === 400) {
    // token失效
    // 移除token
    removeToken();
  }
  return res;
});
export { API };
